package maple.thelittleredbook.recommendation.dto;

import lombok.Data;
import java.util.Map;

/**
 * 内容特征任务统计响应DTO
 * 用于管理员查看任务状态统计信息
 */
@Data
public class ContentFeatureStatisticsDTO {

    /**
     * 失败任务数量
     */
    private Long failedTaskCount;

    /**
     * 各状态任务数量统计
     * key: 状态名称（PENDING, PROCESSING, COMPLETED, FAILED）
     * value: 该状态的任务数量
     */
    private Map<String, Long> taskStatusStatistics;

    /**
     * 系统配置信息
     */
    private SystemConfigDTO systemConfig;

    /**
     * 系统配置信息DTO
     */
    @Data
    public static class SystemConfigDTO {
        /**
         * 批量处理大小
         */
        private Integer batchSize;

        /**
         * 最大并发数
         */
        private Integer maxConcurrent;

        /**
         * 等待重试间隔（毫秒）
         */
        private Long waitRetryInterval;

        /**
         * 连续无法锁定的最大尝试次数
         */
        private Integer maxNoLockAttempts;
    }
}